<html>
<head><meta charset="utf-8"><title>Thanks from Gleam · t-cargo/PubGrub · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/index.html">t-cargo/PubGrub</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html">Thanks from Gleam</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="235104011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235104011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Louis Pilfold <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235104011">(Apr 18 2021 at 21:39)</a>:</h4>
<p>Hello friends! Just wanted to leave a quick message to say thank you for the pubgrub-rs library. I've been meaning to implement the algorithm in Rust and you've saved me a lot of time. The library looks lovely and the documentation is delightful. Thanks!</p>



<a name="235106346"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235106346" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235106346">(Apr 18 2021 at 22:19)</a>:</h4>
<p>You are more then welcome! Most of the credit goes to <span class="user-mention" data-user-id="348419">@Matthieu Pizenberg</span> for the wonderful documentation.</p>



<a name="235106466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235106466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235106466">(Apr 18 2021 at 22:21)</a>:</h4>
<p>By the way the dev branch is api compatible with v0.2, but a lot faster and using less memory. We will cut a 0.2.1 one of these days.</p>



<a name="235106613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235106613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235106613">(Apr 18 2021 at 22:24)</a>:</h4>
<p>Are you able to share about your use case?</p>



<a name="235107800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235107800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235107800">(Apr 18 2021 at 22:47)</a>:</h4>
<p>Awesome to see those documentation efforts pay off :)<br>
<span class="user-mention" data-user-id="406666">@Louis Pilfold</span> is the author of the Gleam programming language. I've heard a lot of great things about it coming from the elm community.</p>



<a name="235160816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235160816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Louis Pilfold <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235160816">(Apr 19 2021 at 10:51)</a>:</h4>
<p><span class="user-mention silent" data-user-id="348419">Matthieu Pizenberg</span> <a href="#narrow/stream/260232-t-cargo.2FPubGrub/topic/Thanks.20from.20Gleam/near/235107800">said</a>:</p>
<blockquote>
<p>Awesome to see those documentation efforts pay off :)<br>
<span class="user-mention silent" data-user-id="406666">Louis Pilfold</span> is the author of the Gleam programming language. I've heard a lot of great things about it coming from the elm community.</p>
</blockquote>
<p>They're fab docs! And thank you, I'm glad people are enjoying the language, even if everything is a bit rough around the edges at the moment.</p>



<a name="235160985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235160985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Louis Pilfold <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235160985">(Apr 19 2021 at 10:52)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120179">Eh2406</span> <a href="#narrow/stream/260232-t-cargo.2FPubGrub/topic/Thanks.20from.20Gleam/near/235106613">said</a>:</p>
<blockquote>
<p>Are you able to share about your use case?</p>
</blockquote>
<p>Certainly. I've a little API client for Hex, the Erlang ecosystem package manager. <a href="https://github.com/gleam-lang/hexpm-rust/">https://github.com/gleam-lang/hexpm-rust/</a><br>
Pubgrub seems to be a good fit for Hex so I intend to add dep resolution to the client for use in the Gleam build tool, so we can provide a better experience than the current hacks on top of the Erlang build tool. It's all very early exploration at the moment, but seems to be going well so far</p>



<a name="235179606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/235179606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#235179606">(Apr 19 2021 at 13:25)</a>:</h4>
<p>That is wonderful! Please keep us in the loop about what is or is not working for you!<br>
As a heads up our support of "Pre-releases" like <code>"1.0.0-alpha.3"</code> is still being designed. After we cut the 2.1, we will be getting started on it.<br>
Also we have a file format for benchmark cases. We currently use a snapshot of <a href="https://github.com/pubgrub-rs/pubgrub/issues/44#issuecomment-727289232">all elm packages</a>, as our most realistic benchmark. If you want to generate a file based on your workload, that would be very helpful!</p>



<a name="236816800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/236816800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Louis Pilfold <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#236816800">(Apr 30 2021 at 10:51)</a>:</h4>
<p>A benchmark sounds good. What would you need here? I just checked the Hex versions endpoint and there 11454 packages with 70684 versions across them.</p>



<a name="236818872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/236818872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Louis Pilfold <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#236818872">(Apr 30 2021 at 11:11)</a>:</h4>
<p>I've been trying to determine how to support prerelease versions so that they are not matched by ranges. Is this possible? It seems like I will need to copy Range or OfflineDependencySolver to my codebase and specialise it teach it to skip prereleases. Does that sound right?</p>



<a name="236831519"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/236831519" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Louis Pilfold <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#236831519">(Apr 30 2021 at 13:11)</a>:</h4>
<p>Oh! I have just spotted the issue. I guess there is no recommended approach currently. Cool I'll play about and see where I get</p>



<a name="236841326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/236841326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#236841326">(Apr 30 2021 at 14:20)</a>:</h4>
<p>For the benchmark, copy the data into a <code>OfflineDependencyProvider</code> and serialize that into a Ron file. <br>
For the prerelease, ether fork the project and modify the <code>Range</code> type OR use the <code>Range trait</code> branch. And figure out what changes get you working. Then <strong>MOST importantly</strong> report back so we can do something better for <code>0.3</code>.</p>



<a name="236846811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/236846811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Louis Pilfold <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#236846811">(Apr 30 2021 at 14:56)</a>:</h4>
<p>OK cool. I'll have to make a little script to pull all the deps for each package from the Hex API so I'll make a note to do this when I have some free time. Does it need to be an <code>OfflineDependencyProvider </code> of <code>Range&lt;SemanticVersion&gt;</code>? I'm not sure that'll work so well because Hex uses preleases so if those are truncated we'll have some duplicate versions<br>
I'll try the trait branch, thanks</p>



<a name="236863858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/Thanks%20from%20Gleam/near/236863858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/Thanks.20from.20Gleam.html#236863858">(Apr 30 2021 at 16:35)</a>:</h4>
<p>Good point. For now, yes. For the <a href="https://github.com/pubgrub-rs/pubgrub/issues/44#issuecomment-730721051">zuse</a> benchmark I just filtered out prerelease versions. But if that is not realistic for your use case, then upload one that has prerelease data, and we can start using it when we merge support for it.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>